Release 3.2  Copyright ã1993 by NeXT Computer, Inc.  All Rights Reserved.

3.2 Release Notes: 
Terminal

This file contains release notes for the 3.2, 3.1, and 3.0 releases of Terminal.  Items specific to the 3.1 release are listed first, and the Release 3.0 notes follow.  There are no items specific to the 3.2 release.

Notes Specific to Release 3.1

New Features

The following new features have been added to Terminal since Release 3.0:

·	Window position saving

	To facilitate the use of Terminal on computers with small screens, the location of Terminal windows is now saved relative to the dimensions of the screen.  On a larger or smaller screen, the windows should appear in approximately the same relationship.  

	The format of Terminal configuration files has been modified to support this change.  Configurations saved under Release 3.1 can't be used on a Release 3.0 system.

·	VT100 function key emulation

	The location of VT100 function keys has changed.  When VT100 keypad emulation was enabled in Release 3.0, the top row of keys on the numeric keypad could be used to generate the codes PF1 through PF4.  In Release 3.1, the numeric keys `1' through `4' assume this function.   Keys `4' through `9' continue to generate numbers.

	When Terminal is used with an application that employs the VT100 ªapplication keypadº mode, the number keys on the numeric keypad revert to generating codes appropriate to this mode.  To get PF1 through PF4, use Shift-1 through Shift-4.  
	
	As before, the Alternate key may be used to toggle the state of VT100 keypad emulation as a particular character is typed.  Thus, Alternate-1 generates the character `1' when VT100 keypad emulation is on, and it generates the code for PF1 when VT100 keypad emulation is off.

Bugs Fixed in Release 3.1

These bugs have been fixed in Release 3.1:

Reference	28815

Problem	Various problems with key layout and Alternate key handling.

Description	Terminal didn't work properly with certain keyboard layouts requiring the use of the Alternate key to generate ASCII characters (such as `[').

Notes Specific to Release 3.0

These notes were included with the Release 3.0 version of Terminal.   Sections that are no longer relevant have been marked with an italicized comment.

New Features

The following new features have been added to Terminal since Release 2.0:

·	Performance improvements

There have been a number of small improvements, along with an overhaul of Terminal's memory management system.   Creating, scrolling, and closing windows are the operations most affected.  

·	Preferences panel

There are a few new options, and settings on existing windows can now be changed.  The Preferences panel has been subdivided into different subpanes, some of which apply to individual windows (or defaults) and some of which apply globally.   

The new preferences are:  control over the maximum size of the scrollback buffer (you now don't need a scroller well if you have no buffer), the ability to make windows ªstickyº so they don't disappear when the shell inside exits, customizable title bars,  process monitoring (see below), and some autolaunching options.

·	Saved windows

A window or set of windows can be saved to a file, allowing you to save your preferred configurations.  Everything about the windows is saved except the contents of the scrollback buffer - this includes the shell, the location of the window, and whether or not the window is miniaturized.  When you Save As, you choose whether you would like all windows or just the main window saved.

Once a window is associated with a file, Save can be used to flush the settings out without seeing a Save Panel, just as with more conventional documents.   However, if more than one window belongs with that file, all the relevant windows will be re-saved (the Save menu item indicates this by changing its label to Save Set).  This convention allows you to open a set of windows, rearrange them, and type Command-s to boink them back to the file.  

To have a file opened for you automatically each time you start up Terminal, you can either check off a box to this effect when you Save As, or you can specify the filename in the Preferences panel under Startup options.  

·	Activity monitoring

Terminal tries to determine whether your shell windows are in active use by monitoring the processes inside them.  If Terminal thinks something interesting is going on inside a window, it will mark the window with a broken X.  You'll be prompted for confirmation before closing a ªbusyº window or quitting Terminal when there are busy windows. 

To make this evaluation, Terminal collects ps-type information about processes it considers relevant and applies a number of heuristics.  Usually, Terminal considers shells and a few other garden-variety processes such as su to be innocuous and will not mark windows busy on their account.  But there are exceptions; for example, if the distinguished process on the tty is a shell but it is actively running, the window will be dirty.   You may designate additional ªcleanº command names (rlogin and telnet are common) in the preferences panel.  If there are running processes on the terminal, the terminal might still be clean if the processes seem to be running happily in the background.  But an interesting process that's the current process or that you've explicitly suspended with Control-z will always make the window dirty.  

The status of windows is checked only when it is likely to have changed.    There is a back-off strategy which prevents the probes from happening too often if the window seems constantly busy.  

·	New accelerators

Two panels, Quick Title and New Command, provide an easy way to set the title on a window and to start up a new window running a designated command.    Both of these would otherwise require use of the Preferences panel.  

Quick Title provides the current title of the window for you to edit; however,  when you set the title this way Terminal won't update any of the information in the future.  For example, if your window is titled ª/bin/csh 80x24 ~/Term.termº and you edit that to include some text of your own choosing, the new title is treated as a string and won't reflect (for example) the size of the window should you change it.  The preferences panel allows better control over this; you can mix your own material with Terminal's automatically updated information.

New Command does use path searching when it execs your command, but since the path is just the default inherited from Workspace, it's utility is limited.  You can add arguments, but shell metacharacters won't be handled correctly.  

·	Terminal services

These are like Pipes and Commands in Edit, only they work for all applications and there is a user interface for constructing them.  Terminal services are dynamic and appear in other apps' Services menu as soon as you define them.  

When specifying the command associated with a service, you can use the tokens %s and %p to refer to the location where the selection and prompted input are inserted, respectively (prompted input is not requested unless this string appears in the command).  

·	Dragged icons

Terminal can accept files dragged into a window.  The appropriate filenames will be pasted, plus a space. 

·	Miscellaneous changes and new features

Some menu items have been moved around.  There is no longer a Format menu.  Copy Font and Paste Font work now.   The print panel has been improved.   Shells that die or can't be executed are handled much better.   app:openFile.... can be used to create new windows running a given command or shell (Terminal replaces the Workspace shell in 3.0).    

Japanese Version

Users of Release 2.1J will notice the following changes:

·	Front end processor input is blocked for non-Japanese fonts
·	Very minor variations in front end processor intermediate display
·	Selection- and cursor-related bug fixes
·	Performance improvements
·	A warning is given for font changes which would garble Japanese data

When a window's font is changed from Japanese to non-Japanese there is the potential that existing Japanese characters will not be displayed correctly.  A warning appears in this case, giving the user the choice of cancelling or proceeding with the font change.  However, if all data in the window is ASCII text, then no warning appears.  Changing back to a Japanese font will display the garbled text correctly.

About Japanese EUC support

The Japanese version of Terminal does not support the extended non-ASCII characters of Next Standard Encoding, which are not generally used in Terminal.  Any non-EUC data received is converted to `?'.

The Japanese version of Terminal processes EUC only, regardless of font selection.  Use of a Latin font such as Courier works for ASCII text, but any non-ASCII characters are still processed as EUC codes: line breaking and illegal data detection will still be as for EUC.

The VT100 Emulation Alternate-key options in Terminal Preferences should always specify escape sequences when using Japanese, as the other option generates codes that conflict with EUC.   Escape sequences are the default in the Japanese version of Terminal.